
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <meta http-equiv="pragma" content="no-cache" />
    <meta http-equiv="content-type" content="no-cache, must-revalidate" />
    <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT"/>
    <title>汽车详情管理</title>

    <link rel="stylesheet" href="../css/bootstrap.min.css">
    <link rel="stylesheet" href="../css/common.css">
    <link rel="stylesheet" href="../css/nav.css">
    <link rel="stylesheet" href="../css/font-awesome.css">
    <link rel="stylesheet" href="../css/element/index.css">

    <style>
        [v-cloak] {
            display: none;
        }
    </style>
</head>
<body>
<div id="wrapper" v-cloak>
    <!--导航栏-->
    <div class="menuW" style="float: left">
        <div class="sideMenu">
            <div class="head">汽车租赁系统</div>
            <ul>
                <li class="nLi">
                    <h3><i class="fa fa-dashboard"></i>首页<span class="fa fa-angle-up arrow"></span></h3>
                    <ul class="sub">
                        <li><a href="index.html"><i class="fa fa-dashboard"></i>首页</a></li>
                    </ul>
                </li>
                <li class="nLi on">
                    <h3><i class="fa fa fa-dashboard icon"></i>信息展示<span class="fa fa-angle-up arrow"></span>
                    </h3>
                    <ul class="sub">
						<li v-if="authority.indexOf(1) != -1">
							<a href="adminInfo.html"><i class="fa fa-table"></i>超级管理员信息</a>
						</li>
						<li v-if="authority.indexOf(2) != -1">
							<a href="businessInfo.html"><i class="fa fa-table"></i>店员信息</a>
						</li>
						<li v-if="authority.indexOf(3) != -1">
							<a href="userInfo.html"><i class="fa fa-table"></i>顾客信息</a>
						</li>
						<li v-if="authority.indexOf(5) != -1">
							<a href="messageInfo.html"><i class="fa fa-table"></i>留言板</a>
						</li>
						<li v-if="authority.indexOf(6) != -1">
							<a href="checkInfo.html"><i class="fa fa-table"></i>人员检测信息</a>
						</li>
						<li v-if="authority.indexOf(9) != -1">
							<a href="submitInfo.html"><i class="fa fa-table"></i>事故检查</a>
						</li>
						<li v-if="authority.indexOf(10) != -1">
							<a href="richtextInfo.html"><i class="fa fa-table"></i>政策信息宣传</a>
						</li>
						<li v-if="authority.indexOf(1000001) != -1">
							<a href="advertiserInfo.html"><i class="fa fa-table"></i>通知管理</a>
						</li>
						<li v-if="authority.indexOf(1000009) != -1">
							<a href="typeInfo.html"><i class="fa fa-table"></i>汽车类型</a>
						</li>
						<li v-if="authority.indexOf(1000010) != -1">
							<a href="goodsInfo.html" class="active"><i class="fa fa-table"></i>汽车详情管理</a>
						</li>
						<li v-if="authority.indexOf(1000012) != -1">
							<a href="orderInfo.html"><i class="fa fa-table"></i>订单信息</a>
						</li>
						<li v-if="authority.indexOf(1000013) != -1">
							<a href="commentInfo.html"><i class="fa fa-table"></i>评价信息</a>
						</li>

                        <li>
                            <a href="javascript:void(0)" @click="personalPage"><i class="fa fa-user"></i>个人信息</a>
                        </li>
                    </ul>
                </li>
				<li class="nLi">
					<h3><i class="fa fa-table"></i>政策信息宣传<span class="fa fa-angle-up arrow"></span></h3>
					<ul class="sub">
						<li>
							<a href="richtextInfoComment.html"><i class="fa fa-unlock-alt"></i>政策信息宣传评论</a>
						</li>
					</ul>
				</li>

                <li class="nLi">
                    <h3><i class="fa fa-unlock-alt"></i>修改密码<span class="fa fa-angle-up arrow"></span></h3>
                    <ul class="sub">
                        <li>
                            <a href="updatePassword.html"><i class="fa fa-unlock-alt"></i>修改密码</a>
                        </li>
                    </ul>
                </li>
                <li class="nLi">
                    <h3><i class="fa fa-power-off"></i>退出登录<span class="fa fa-angle-up arrow"></span></h3>
                    <ul class="sub">
                        <li>
                            <a href="javascript:void(0)" @click="logout"><i class="fa fa-power-off"></i>退出登录</a>
                        </li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
    <!-- 主体 -->
    <div class="main">
        <!-- 头部开始 -->
        <div class="main-head" style="width: 100%; display: flex">
            <div style="flex: 1; text-align: left">
                <a href="/front/index.html">返回前台首页</a>
            </div>
            <div style="flex: 1; text-align: right">
                <a href="javascript:void(0)" @click="personalPage"><span>您好，<span style="color: #8470FF">{{user.name}}</span></span></a>
                <a href="javascript:void(0)" @click="logout" style="padding:0 10px;">退出登录</a>
            </div>
        </div>
        <!-- 头部结束 -->

        <!-- 主体开始 -->
        <div style="padding: 0 20px">
            <div>
                <div class="table-title">汽车信息表</div>
            </div>

            <!-- 表格主体-->
            <div style="margin-top: 10px">
                <div class="row">
                    <div class="col-md-12">
                        <div class="panel panel-default">
                            <div class="panel-heading">汽车信息表</div>
                            <div class="panel-body">
                                <div class="table-responsive">
                                    <div class="nx-table-header">
                                        <button class="btn btn-sm btn-primary" @click="add()">新增</button>
                                    </div>
                                    <table class="table table-striped table-bordered table-hover" style="margin-top: 10px">
                                        <thead>
                                        <tr>
                                            <th>ID</th>
                                            <th>名称</th>
                                            <th>描述</th>
                                            <th>所属类别</th>
                                            <th>价格</th>
                                            <th>油费</th>
                                            <th>库存</th>
                                            <th>销量</th>
                                            <th>点赞数</th>
                                            <th>推荐</th>
                                            <th>汽车图片</th>
                                            <th>操作</th>
                                        </tr>
                                        </thead>
                                        <tbody v-for="obj in objs">
                                        <tr>
                                            <td>{{obj.id}}</td>
                                            <td>{{obj.name}}</td>
                                            <td>{{obj.description}}</td>
                                            <td>{{obj.typeName}}</td>
                                            <td>{{obj.price}}</td>
                                            <td>{{obj.discount}}</td>
                                            <td>{{obj.count}}</td>
                                            <td>{{obj.sales}}</td>
                                            <td>{{obj.hot}}</td>
                                            <td>{{obj.recommend}}</td>
                                            <td>
                                                <button class="btn btn-primary btn-xs" @click="viewModal(obj)">预览</button>
                                            </td>
                                            <td>
                                                <button class="btn btn-primary btn-xs" @click="init(obj)">编辑</button>
                                                <button class="btn btn-danger btn-xs" @click="del(obj)">删除</button>
                                            </td>
                                        </tr>
                                        </tbody>
                                    </table>
                                    <nav aria-label="Page navigation example">
                                        <ul class="pagination">
                                            <li class="page-item" :class="{ disabled: preActive }">
                                                <a class="page-link" href="javascript:void(0)"
                                                   @click="loadTable(pageInfo.pageNum - 1)">上一页</a>
                                            </li>
                                            <li class="page-item">
                                                <a class="page-link" href="javascript:void(0)" v-if="pageInfo.pageNum > 1" @click="loadTable(pageInfo.pageNum - 1)">{{pageInfo.pageNum - 1}}</a>
                                            </li>
                                            <li class="page-item disabled">
                                                <a class="page-link" aria-disabled="true" href="javascript:void(0)">{{pageInfo.pageNum}}</a>
                                            </li>
                                            <li class="page-item">
                                                <a class="page-link" href="javascript:void(0)" v-if="pageInfo.hasNextPage" @click="loadTable(pageInfo.pageNum + 1)">{{pageInfo.pageNum + 1}}</a>
                                            </li>
                                            <li class="page-item" :class="{ disabled: nextActive }">
                                                <a class="page-link" href="javascript:void(0)" @click="loadTable(pageInfo.hasNextPage? (pageInfo.pageNum + 1) : pageInfo.pageNum)">下一页</a>
                                            </li>
                                        </ul>
                                    </nav>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <!-- 表格主体结束-->
        </div>
        <!-- 主体结束 -->
    </div>
    <!-- 模态框（Modal） -->
    <div class="modal" tabindex="-1" role="dialog" id="goodsModal">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <span class="modal-title">请填写信息</span>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close" @click="entity={}">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <div class="form-horizontal">
                        <input type="hidden" name="id" v-model="entity.id">
                        <div class="form-group">
                            <label class="col-sm-3 control-label">名称</label>
                            <div class="col-sm-7">
                                <input type="text" class="form-control" v-model="entity.name" placeholder="请输入名称">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-3 control-label">描述</label>
                            <div class="col-sm-7">
                                <input type="text" class="form-control" v-model="entity.description" placeholder="请输入汽车描述">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-3 control-label">所属类别</label>
                            <div class="col-sm-7">
                                <select class="form-control" v-model="entity.typeId">
                                    <option v-for="item in typeObjs" :value="item.id">{{item.name}}</option>
                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-3 control-label">价格</label>
                            <div class="col-sm-7">
                                <input type="text" class="form-control" v-model="entity.price" placeholder="请输入汽车价格">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-3 control-label">油费</label>
                            <div class="col-sm-7">
<!--                                <input type="text" class="form-control" v-model="entity.discount" placeholder="请输入不大于1的整数，例如：0.8">-->
                                <input type="text" class="form-control" v-model="entity.discount" placeholder="请输入油费">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-3 control-label">库存</label>
                            <div class="col-sm-7">
                                <input type="text" class="form-control" v-model="entity.count" placeholder="请输入汽车库存">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-3 control-label">是否推荐</label>
                            <div class="col-sm-7">
                                <label class="radio-inline">
                                    <input type="radio" value="是" v-model="entity.recommend">是
                                </label>
                                <label class="radio-inline">
                                    <input type="radio" value="否" v-model="entity.recommend">否
                                </label>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-3 control-label">上传文件</label>
                            <div class="col-sm-7">
                                <div style="margin-top: 8px">
                                    <input @change="upload" @click="clearFile" multiple="multiple" type="file" ref="file">
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal" @click="entity={}">关闭</button>
                    <button type="button" class="btn btn-primary" @click="update()">保存</button>
                </div>
            </div>
        </div>
    </div>

    <div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    文件预览
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close" @click="cancel">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div id="view-img" class="modal-body" style="text-align: center">
                </div>
            </div>
        </div>
    </div>
</div>

<script src="../js/jquery-1.10.2.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/nav.js"></script>
<script src="../js/my.js"></script>
<script src="../js/vue2.6.11/vue.min.js"></script>
<script src="../js/vue2.6.11/axios.js"></script>
<script src="../js/element/index.js"></script>

<script>
    function msg(type, msg) {
        Vue.prototype.$message({
            type: type, // success（成功）、warning（警告）, error(错误)
            message: msg,
            duration: 2000,
            offset: 100,
            center: true
        })
    }

    new Vue({
        el: '#wrapper',
        data: {
            authority: [],
            typeObjs: [],
            user: {},
            name: '',

            objs: [],
            pageInfo: {},
            preActive: true,
            nextActive: true,
            entity: {}
        },
        created: function () {
            this.user = JSON.parse(localStorage.getItem("user"));
            axios.get("/authority").then(res => {
                if (res.data.code === '0') {
                    this.authority = res.data.data;
                } else {
                    msg('error', res.data.msg);
                }
            });
            this.loadTable(1);

            this.entity.typeId = 0;
            axios.get("/typeInfo").then(res => {
                this.typeObjs = res.data.data;
            });

        },
        methods: {
            loadTable(pageNum) {
                let name = this.name === '' ? "all" : this.name;
                axios.get("/goodsInfo/page/" + name + "?pageNum=" + pageNum).then(res => {
                    if (res.data.code === '0') {
                        this.objs = res.data.data.list;
                        this.pageInfo = res.data.data;
                        this.preActive = !(this.pageInfo.hasPreviousPage);
                        this.nextActive = !(this.pageInfo.hasNextPage);
                    } else {
                        msg('error', res.data.msg);
                    }
                });
            },
            init(o) {
                if (this.user.level === 3) {
                    msg('warning', '没有该权限操作');
                    return;
                }
                this.entity = JSON.parse(JSON.stringify(o));
                $('#goodsModal').modal('show');
            },
            add() {
                if (this.user.level === 3) {
                    msg('warning', '没有该权限操作');
                    return;
                }
                this.entity = {};
                $('#goodsModal').modal('show');
            },
            update() {
                if (checkValid(this.entity)) {
                    this.entity.level = this.user.level;
                    if (!this.entity.id) {
                        axios.post("/goodsInfo", this.entity).then(res => {
                            if (res.data.code === '0') {
                                msg('success', '添加成功');
                                $('#goodsModal').modal('hide');
                                this.loadTable(1);
                            } else {
                                msg('error', res.data.msg);
                            }
                        })
                    } else {
                        axios.put("/goodsInfo", this.entity).then(res => {
                            if (res.data.code === '0') {
                                msg('success', '操作成功');
                                $('#goodsModal').modal('hide');
                                this.loadTable(1);
                            } else {
                                msg('error', res.data.msg);
                            }
                        })
                    }
                }
            },
            del(o) {
                if (this.user.level === 3) {
                    msg('warning', '没有该权限操作');
                    return;
                }
                let _this = this;
                this.$confirm('确认删除？', '系统提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    cancelButtonClass: 'btn-custom-cancel',
                    type: 'warning'
                }).then(function(){
                    axios.delete("/goodsInfo/" + o.id).then(res => {
                        if (res.data.code === '0') {
                            msg('success', '删除成功');
                            _this.loadTable(1);
                        } else {
                            msg('error', res.data.msg);
                        }
                    });
                }).catch(function() {
                    console.log("取消成功！");
                });
            },
            upload: function () {
                let files = this.$refs.file.files;
                for (let i = 0; i < files.length; i++) {
                    let formData = new FormData();
                    formData.append('file', files[i]);
                    axios.post('/files/upload', formData, {
                        'Content-Type': 'multipart/form-data'
                    }).then(res => {
                        if (res.data.code === '0') {
                            msg('success','文件上传成功');
                            this.entity.fileList.push(res.data.data.id);
                        } else {
                            msg('error', res.data.msg);
                        }
                    })
                }
            },
            clearFile: function() {
                this.entity.fileList = [];
            },
            viewModal: function (data) {
                axios.get("/goodsInfo/" + data.id).then(res => {
                    if (res.data.code === '0') {
                        let fileIds = JSON.parse(res.data.data.fileIds);
                        $("#view-img").empty();
                        fileIds.forEach(item => {
                            $("#view-img").append($(`<img id="img-id" src="/files/download/${item}" style="width: 400px; margin-bottom: 5px" alt="">`));
                        });
                        $("#myModal").modal('show');
                    } else {
                        msg('error', res.data.msg);
                    }
                });
            },
            cancel: function () {
            },
            logout() {
                logout();
            }
        }
    })
</script>
</body>
</html>
